package com.windgo.service;

import com.windgo.bean.MarketCoupon;
import com.windgo.bean.MarketCouponUser;
import com.windgo.bean.common.BasePageInfo;
import com.windgo.bean.common.CommonData;
import com.windgo.bean.vo.MarketCouponListVO;
import com.windgo.bean.vo.WxCouponMyListVO;
import com.windgo.bean.wxVo.SelectListResponseVO;

import java.util.List;

/**
 * @Author:ZhouXin
 * @Date:2022/10/12 23:23
 * @Description:
 **/
public interface CouponService {
    CommonData<MarketCoupon> list(BasePageInfo info, String name, Short type, Short status);

    MarketCoupon create(MarketCoupon marketCoupon);


    MarketCoupon update(MarketCoupon marketCoupon);

    void delete(MarketCoupon marketCoupon);

    MarketCoupon read(Integer id);

    CommonData<MarketCouponUser> listUser(BasePageInfo info, Integer couponId);

    CommonData<MarketCouponListVO> listCoupon(BasePageInfo info);

    CommonData<WxCouponMyListVO> listCouponUser(BasePageInfo info, Integer status);

    int userReceiveCoupon(Integer couponId);

    int userExchangeCoupon(String code);
    // 2022-10-16 17点37分 mabai增加
    CommonData<SelectListResponseVO> selectAvailableCouponList(Integer cartId, Integer grouponRulesId);
}
